<script>
	import {
		getDynamicRoutes,
		checkRoutePermission
	} from '@/api/route.js'

	export default {
		onLaunch: async function() {
			console.log('App onLaunch');
			uni.setStorageSync('isAuth', true)

			// // 加载动态路由
			// try {
			// 	const routes = await getDynamicRoutes()
			// 	if (routes.length > 0) {
			// 		// 动态添加路由
			// 		routes.forEach(route => {
			// 			uni.addRoute({
			// 				path: route.path,
			// 				style: route.style
			// 			})
			// 		})
			// 	}
			// } catch (e) {
			// 	console.error('加载动态路由失败', e)
			// }

			// // 路由拦截器
			// uni.addInterceptor('navigateTo', {
			// 	invoke(args) {
			// 		return checkRoutePermission(args.url).then(hasPermission => {
			// 			if (!hasPermission) {
			// 				uni.showToast({
			// 					title: '无权限访问',
			// 					icon: 'none'
			// 				})
			// 				return false
			// 			}
			// 			return true
			// 		})
			// 	},
			// 	fail(err) {
			// 		console.error('路由拦截失败', err)
			// 	}
			// })
			
			const updateManager = uni.getUpdateManager();
			updateManager.onCheckForUpdate(function(res) {
				// 请求完新版本信息的回调
				if (res.hasUpdate) {
					updateManager.onUpdateReady(function(res) {
						uni.showModal({
							title: '更新提示',
							content: '新版本已经准备好，是否重启应用？',
							success(res) {
								if (res.confirm) {
									// 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
									updateManager.applyUpdate();
								}
							}
						})
					})
				}
			})
			//console.warn('当前组件仅支持 uni_modules 目录结构 ，请升级 HBuilderX 到 3.1.0 版本以上！')

			uni.$userInfo = uni.getStorageSync('userInfo') || '';

			// #ifdef APP-PLUS
			uni.preLogin({
				provider: 'univerify',
				success(res) { //预登录成功 
					uni.yjLoginOk = true;
					console.log(res)
				},
				fail(err) {
					console.log(err)
					uni.yjLoginOk = false;
				}
			})
			// #endif

			uni.$myModalFun = function(str) {
				uni.showModal({
					title: '提示',
					content: str,
					showCancel: false
				})
			}


			//是否登全局变量
			uni.$isLoginFun = function() {
				uni.$userInfo = uni.getStorageSync('userInfo') || '';
				console.log('isLoginFun Storage UserInfo=>')

				if (!uni.$userInfo || !uni.$userInfo.id) {

					//返回提示码展示
					uni.showToast({
						title: '用户不能为空',
						icon: 'none'
					})

					// #ifdef MP-WEIXIN
					uni.reLaunch({
						url: '/pages/admin/login/wxlogin'
					})
					// #endif

					// #ifdef H5
					uni.reLaunch({
						url: '/pages/admin/login/login'
					})
					// #endif

					uni.reLaunch({
						url: '/pages/admin/login/login'
					})

					uni.showModal({
						title: '提示',
						content: '当前暂未登录或者登录授权过期，无法查看详细数据，请重新登录！',
						success(res) {
							if (res.confirm) {

								// #ifdef MP-WEIXIN
								uni.reLaunch({
									url: '/pages/admin/login/wxlogin'
								})
								// #endif

								// #ifdef H5
								uni.reLaunch({
									url: '/pages/admin/login/login'
								})
								// #endif

								uni.reLaunch({
									url: '/pages/admin/login/login'
								})
							}
						}
					})
					return false
				} else {
					return true
				}
			}
		},
		onShow: function() {
			console.log('App Show')
		},
		onHide: function() {
			console.log('App Hide')
		}
	}
</script>

<style lang="scss">
	/*每个页面公共css */
	//@import '@/uni_modules/uni-scss';
	@import "@/uview-ui/index.scss";

	/* 头条小程序需要把 iconfont 样式放到组件外 */
	//@import "@/components/m-icon/m-icon.css";


	/* #ifndef APP-NVUE */
	@import '@/static/customicons.css';

	// 设置整个项目的背景色
	page {
		background-color: #f5f5f5;
		background-color: #f5f5f5;
		/* background-color: red; */
		font-size: 26rpx;
		font-family: '' 微软雅黑', sans-serif';
		color: #666;
	}

	/* #endif */

	.example-info {
		font-size: 14px;
		color: #333;
		padding: 10px;
	}
</style>